Control circuits, commonly called peripheral controllers for data storage units such as hard disks, are employed to provide communications and data transfer to and from a host computer. Due to the widely disparate data transfer rates between the data storage units and the host computer, control of data transfer operations is often held by the peripheral controller to improve the efficiency of the host computer. Prior art systems commonly employ a buffer memory to store data extracted from the disk storage unit at a first slower data rate and then transferring data from the buffer memory to the host at a higher data rate. Transfer to the host may be accomplished under program input/output (PIO) or direct memory access (DMA). The peripheral controller typically provides addressing and read/write enablement for the buffer memory receiving data from the disk storage unit. The host computer accesses the buffer memory directly for data transfer to and from the host.
An example of the prior art having a common data bus between the host and the peripheral controller and having either a counter for memory addressing or a first in/first out (FIFO) memory for the buffer memory is disclosed in U.S. Pat. No. 4,527,233 to Ambroisus, III, et al. Control of the buffer memory by either the host computer or the peripheral controller precludes optimized data transfer rates. Parallel asynchronous access to the buffer memory is required to allow maximum transfer efficiency. The present invention provides such capability.
Prior art peripheral controllers typically interface a single type of host computer to a data storage unit. For disk drives, as an example, interface conventions such as ST 412, ST 506, and EDSI typically allow interchange between several disk drives and a single peripheral controller. A single peripheral controller capable of interfacing two disk drives with multiple interface formats is also desirable. The present invention provides interface and control capability for multiple host computer types and multiple data storage unit interface types.